It is believed that the present invention is applicable to the electronic management and control of a wide range of finishing processes characterized by input from multiple production operations and equipment that, depending upon the job, may be variably applied to work pieces that themselves are highly variable between different jobs. Although the present invention is explained in relation to printing and finishing operations for printed documents, the present invention may apply to such industries, without limitation, as include textile production (which may include printing, cutting, sewing, and finishing), packaging operations for various consumer and industrial products, printed wiring board production, etc. In particular, the present invention is applicable to many operations where processes for production of work pieces are managed separately from processes for finishing and packaging of such work pieces.
Creation and production of printed documents often involves many production and finishing operations that are highly variable with each job. In general, the various operations can be grouped into three major phases: 1) creation of the document information, including prepress operations that render the document in a form suitable for printing, 2) printing of the information onto some form of media such as paper, and 3) finishing of the selected media into a completed document. These 3 major phases often have many sub-phases, and the entire process may vary from relatively simple to extremely complex. The present invention deals with techniques by which a user may provide detailed instructions for each of the three phases such that instructions may be created as early as during the first phase that are sufficient to guide the entire process through to completion of the third phase. Although of potential use in many printing operations, the present invention is particularly applicable to automated systems for creating, printing, and finishing complex documents within a multi-printer, completely digital environment using digital printers.
Traditionally in phase 1, when a document is composed, the person doing the composition will create one or more electronic image files that represent the parts of the document to be produced. These electronic image data files may be stored in many different formats by many different document creation and manipulation programs. For instance, for a complex document such as a book that utilizes color printing for book covers and pictorial inserts, any of a variety of Page Description Languages (PDLs), such as Postscript® and Postscript-compatible languages, may be used to render the color images in printable form. Often different components within a document will utilize different PDLs. For instance, the cover may be created by a different work team or upon different equipment than photographic reprints or other internal color components. Each prepress team or prepress device may utilize a PDL optimized for its use. For pages comprised of simple monochrome text, a desk-top publishing programs may be utilized to render such pages or a simpler word processing language may be utilized. Still other prepress formats may be utilized for printing of inserts, dividers, and other possible components internal to the finished document. There also may be included in the assembly/finishing job non-printed components such as, without limitation, plastic separators, previously printed sheets retrieved from inventory, photographically produced sheets, or specialized media such as vinyl disk holders or perfume sample packs.
Examples of documents with different components and levels of complexity will now be shown by reference to FIGS. 1–2. Beginning in FIG. 1, a simple signature document is shown that comprises an insert component 12 placed face down on a gathering tray or table, followed by body component 10 placed on top of insert 12 which is then followed by cover 11. A finishing operation indicated in block form at F201 is shown. Such finishing operation F201 may comprise simple folding of the signature body or may include center stapling or similar binding operation. When cover 11 is placed on top finishing operation 201 folds the signature, a cover-bound document 21 is created as shown. The completed document 21 is shown to the right of finishing operation F201. For explanatory purposes, the arrangement of components is shown in box form below finished document 21.
FIG. 2 shows the result of layering two body components 10a and 10b in a stack with two insert components 12a and 12b in the order indicated. Cover 11 is added last to the stack. Completed document 23 contains the 9 layers expected from such an arrangement, with the middle layer being a double layer comprising insert component 12a. 
Obviously, documents may vary greatly in complexity depending upon the number and order of components, finishing options chosen, etc. Typically, various prepress devices create individual components of the document and digitally render these components in formats that are suitable for printing. PDLs such as Postscript™-compatible languages are often used for such purposes. Subsections of the job that require different prepress or printing operations are typically divided by an operator at an early point in the process. After completion of prepress operations for each portion of the job, the operator(s) send the various portions of the job to printers appropriate for each such portion, thereby initiating different “paths” that each portion of the job my take.
FIG. 3 shows typical assembler/finisher operations for a moderately complex document. In the shown example, a set of color portions, 30a, 30b, and 30c, have been printed by a color printer and outputted from the printer in non-collated offset form. A set of monochrome portions, 40a and 40b, have also been printed and have been outputted from the printer in a stack of alternating, collated offset sets. After printing and output into their respective intermediate output bins, the various printed sheets have been gathered from their respective printer output bins, transported, and placed in the bins shown in FIG. 3 for feeding into the assembler/finisher apparatus. Color components 30a, 30b, and 30c are placed into sheet feeder receiving bins 42a, 42b, and 42c of sheet feeder 42. An example of such sheet feeder equipment integrated coupled with book making equipment is a Model MC80 sheet feeder integrated with book maker Model SPF-20, both manufactured by Horizon International, Inc. Monochrome components 40a and 40b are placed in feeder bin 43a of set feeder 43 in a manner that maintains the alternating, collated offset stack. An example of such set feeder equipment 43 is a DocuFeed 150 sold by Standard Duplicating Machines Corporation, Inc.
It is important to note that in many jobs, receiving feeder bins such as 42a, 42b, 42c, and 43a have stack height constraints that are less than the total stack height of a particular portion of the job that was printed. In the prior art, an operator typically manually separates a stack of printed sheets into smaller stacks that will fit within the constraints of the receiving bins.
Returning to FIG. 3, collator 44 is programmed by an operator for interleaving and collating the components in the correct order. When operated, collator 44 operates in conjunction with sheet feeder 42 and set feeder 43 such that various sheets are placed in a completed stack 50 in the correct order within gathering station or gathering bin 45. Next, stack 50 is delivered to finisher apparatus 46 where it is first folded, The folded signature stack is then bound, trimmed and otherwise finished into a completed document 60. Among the finishing operations that may be performed within finisher 46 are the following: gluing in, adhesive binding, general stitching, saddle stitching, thread sewing, side sewing, stapling, scoring, and trimming.
Much prior art deals with operations that automate tasks internal to each of equipment and processes described above. In particular, much work has been done to provide automatic linkages between prepress operations and digital printing processes, including output from printers at intermediate finishing stations with capabilities such as collating. One aspect of such prior art includes creation of virtual job tickets to electronically convey information from prepress apparatus through to intermediate finishing operations of the selected digital printers. See, e.g., U.S. Pat. No. 5,995,721 issued to Rourke et al. U.S. Pat. No. 5,615,015 issued to Krist et al.; U.S. Pat. No. 5,760,775 issued to Sklot et al. In Rourke et al., for instance, prepress processes examine the attributes of a print job in order to determine which of a variety of printing apparatus are capable of printing each particular portion of the job in accordance with the specified attributes. The instructions governing printing of each specific portion are provided to each printer pursuant to a virtual job ticket. In Rourke and in other prior art, however, digital tracking and control linkages between the paths of various job portions sent to different printers is generally lost after each portion is sent to a different printer. The virtual job ticket is used only during the printing process itself and during any post-printing processes directly linked to the printing phase of the job. Thereafter, the parsed portions of the job are re-integrated not by use of a virtual job ticket providing instructions to offline finishing but by dropping sheets of one parsed portion into “holes” left in the printing queue of a second portion. See Rourke, column 13, line 11–39. Another characteristic found in Rourke and in other prior art is that a job is parsed into portions based upon printing characteristics and not upon constraints to be encountered during the entire printing and finishing process.
Although two-way digital tracking and control linkages are common within printers that are physically integrated with their own intermediate finishing stations, there are no two-way digital tracking and control linkages between a stand alone printer system and offline assembler/finisher apparatus such as shown in FIG. 3 as 42–46. With respect to assembler/finisher systems that are not physically integrated with their respective printers, the following incomplete list of data characterizing a job and the work pieces of the job are useful for programming some or all assembly/finishing operations: the number of sheets of each type; media type; media thickness; orientation of sheets; organization of sheets within each stack of sheets; order of assembling sheets or stacks; operations to be performed; locations for scoring, folding, trimming, cutting, etc; and the type and placement of binding. Many other instructions are often utilized in addition to this basic list of instructions and parameters.
The need in both the prior art and in the present invention is to efficiently convey to and program the appropriate assembler/finisher systems with the above assembly/finishing data, then to track progress of the job through the finishing operations, and finally to maintain integrity of the job in order to detect and/or prevent defective finished documents.
The prior art teaches several methods for accomplishing the above tasks with varying degrees of satisfaction. A very common approach is for a human operator to separately program the assembler/finishing system. Often, the information to program the finishing operation is provided to the operator in a written or printed sheet or set of sheets, called a traveler sheet, that incorporates information describing assembler/finishing operations for all portions of the job. When preparing to load the stack into the finishing equipment, the operator reads the traveler sheet for the relevant assembly/finishing instructions, including the order in which the components are to be assembled in the finished product. A complete set of attributes for each component is not provided since the skill and experience of the operator enables the operator to select proper bins, parse stacks, orient sheets, and similar tasks when preparing and programming the assembler/finisher device. A more modern version of this same basic system uses a traveler sheet that is encoded with barcodes or other machine readable coded information. When ready, the operator places the traveler sheet before a digital reader which then displays the information to the operator for manual programming. Yet another version of this idea is to place a machine-readable code such as a bar code or glyph on a sheet associated with each job. This sheet may be a cover sheet placed on each stack of sheets. The code is read by a digital reader and its information is used to set up equipment for the job. Even with the ability to encode some job information digitally, the information required in conjunction with moderately complex jobs for programming of off-line assembler/finisher equipment is so complex that in the prior art some manual programming is required.
The complexity of interrelating and automatically programming all of the above printing, assembling, and finishing operations can be understood by contemplating the innumerable parameters and operations that must be coordinated during the course of a reasonably complex printing job, especially one involving multiple printers and multiple finishing operations and assembler/finisher devices. In addition to all of the variables relating to paper selection (e.g. size and type), PDL or other page descriptions, and other parameters and operations applicable from prepress Phase 1 through completion of printing Phase 2, the assembly/finishing Phase 3 requires programming of information that both (1) specifies the complicated details of assembly and finishing operations to be performed upon each sheet or set of sheets within the job and (2) relates each sheet or set of the job to every other sheet and set of the job. Especially when the sheets are arriving from different sources such as from multiple printers or from both printers and inventory, existing systems have only been able to automate a portion of these programming tasks or have succeeded in performing both of these programming tasks only in very carefully prescribed circumstances.
For instance, in U.S. Pat. No. 5,859,711, issued to Barry et al., the problem is discussed in the special case where all of the pages of a document are sent to a job controller as one job and are then divided at page breaks such that each page is treated as a separate print job. By dividing the one job into a plurality of jobs on a page-by-page basis, the various pages can be allocated to a multitude of printers such that one or more printers can be operated as one virtual printer. The advantages include greater speed and the ability to send color pages to color printers and monochrome pages to monochrome printers, thereby optimizing the use of each. In the above manner, Barry teaches a method of optimizing production of a job through the printing Phase 2. Barry does not, however, teach a method for optimizing the assembler/finisher portion of the production or for arranging the printing, separating, and stacking of portions of a job with a view to the capabilities and constraints of the assembler/finisher equipment. At column 18, lines 37–47, Barry provides part of its solution to the problems created when a job has been parsed to different printers and needs to be reassembled: “It is only important that, when the stacks are defined within a given printer, there is some indication, such as a separator page, that will allow the particular stack created between separators, to be assembled with another stack from another printer in the desired print job output.” (lines 42–47) At columns 37 and 38, a second portion of Barry's solution is disclosed by teaching that a distributor control can operate to configure and reconfigure the automatic finishing device in response to how a job is divided into stacks, with each stack being treated “as individual entities and queuing them up and processing them independent of how fast another job stack in a given job is processed through an adjacent print engine.” Column 37, lines 12–15. Barry also teaches that a distribution control can configure automatic finishing devices or such devices may be configured by reading instructions printed on each separator sheet in bar code form.
Thus, Barry is concerned with a method of dividing a job into portions that can be routed to different printers for more efficient printing operations. Its finishing teachings are limited to methods for recombining the separated portions of a job back into the correct order for final finishing. There is no teaching concerning how to combine the job portions except how to collate the portions arriving from different stacks. There is no teaching of how to combine printed sheets with non-printed or previously printed sheets taken from inventory. There is no teaching concerning how to break a stack apart except in response to the job portions created for optimized printing. If further divisions of stacks are necessary after printing in order to enable assembly/finishing operations, Barry lacks any method for analyzing or implementing such divisions. Most importantly, Barry does not teach that the capabilities and constraints of assembler/finishing equipment can be used to divide a job into portions.
Perhaps the most complete attempt to provide a structure for automated programming of certain specified types of print jobs is the International Cooperation for Integration of Prepress, Press, and Postpress (CIP3) Print Production Format issued by the Fraunhofer Institute for Computer Graphics. The web address for CIP3 is: http://www.cip3.org. First issued in 1995, CIP3 provides an ability to create a digital “traveler sheet” written in the Postcript language. CIP3 enables a complete digital description of a document and all of its production steps. It is a proposal for a description language, not a control algorithm. As a description language, CIP3 provides one method of relating each page of a job to every other page of the same job. As described in the Specification of CIP3, the CIP3 format is intended to enable automatic programming of assembler/finisher equipment. What is missing in CIP3, however, is the automatic programming itself. What is also missing is an ability to match described production operations with the capabilities and constraints of the particular equipment available in conjunction with this job. CIP3 is therefore not useful in selecting or optimizing the actual equipment to be used when planning the job. CIP3 also lacks the ability to inter-relate the production effects of one job to a second job, and CIP3 is therefore of limited value in production planning of multiple jobs. Also, by failure to divide a job into subparts that conform with the constraints of the actual equipment to be used, CIP3 is limited in the depth of its ability to relate each sheet of a job to all other sheets that have been prepared as part of the job. FIG. 4 shows in schematic form the type of information that can be described using CIP3. Along the Y-axis is a list of the different sheets in this particular job. Note that there is no information concerning how many sheets of each type are printed since CIP3 is concerned with describing the sheets of a single end product and not of the flows necessary to print a production job. The X-axis is a list of the operations that will be performed on each sheet, including in this case, at the intermediate collator step, the merger of the various sheets into stacks. These stacks will then be separately folded and cut and then gathered together, trimmed, and bound. CIP3 is robust enough to associate fairly complex production processes to particular sheets or stacks of sheets (called partial products within CIP3), including such processes as the gathering of multiple partial products of the job and the binding, finishing of such gathered partial products into a stitched or glued document. See Table 3–13, CIP3 Specifications, Version 3.0, Jun. 2, 1998. Even where CIP3 provides an adequate description language for parts of the job, however, it does not provide methods for actual management, control, and tracking of the job while in production. In other words, CIP3 is intended to help the programming of a job by describing its parts but does not actually perform or direct the programming nor the implementation of the job.
The ability to track and associate the complex data associated with each or stack of sheets within a complicated print job is greatly hindered by the innumerable equipment and processing parameters that characterize and constrain use of each piece of equipment. For instance, every item of equipment shown in FIG. 3 may have different paper path constraints or bin-height constraints. Some types of sheet stock may be too thin or too rigid for certain of the printers or assembler/finishers in the system. Some portions of the job may require an intermediate finishing step such as lamination. Specialized equipment such as laminators may require that sheets be delivered and output in a particular orientation, e.g. long edge first, which constraints then require a re-orienting process prior to insertion into the paper path of the next selected piece of equipment. Some portions of the job may require different types of folding, trimming or cutting operation than other portions of the same job. Within a typical commercial print shop, the number and type of constraints affecting selection of different pieces of equipment or combinations of equipment are inherent and innumerable.
The problem of coordinating equipment constraints is further complicated because of inherent mismatches between the output of printers and the constraints of assembler/finisher equipment. For instance, when a stack of sheets from a printer has more sheets than can be received in the assembler/finisher feeder bins, then a human operator or a machine conveyance system typically divides the larger stack by grabbing whatever number of sheets appear to fit within the feeder bin capacity. This means that the various assembler/feeder bins are filled with unequal numbers of sheets. It also means that a stack of printed sheets gets divided and separated. The separated stacks are typically stored in intermediate bins and must be stored, tracked, and retrieved when needed. Even where large stacks of sheets are divided by a manual or automated counting procedure such that each separated stack is maintained with a known quantity of sheets, there is no ability in the prior art to dynamically adjust the size of such stacks to conform to the varying constraints affecting each particular printing job and the particular equipment selected for that job. Moreover, stacks of pre-counted sheets are of little use when responding to sheets that are found defective, missing, or damaged. Lastly, where a job can be routed to one of a variety of assembler/finisher systems, each having different constraints, it would be desirable to dynamically change the stacks of printed sheets in order to optimally conform to the constraints of the particular assembler/finisher equipment that becomes selected. This would be especially desirable when managing queues of finishing jobs in systems that are capable of rerouting assembler/finisher operations in response to equipment breakage or unavailability due to use of initially selected equipment with other jobs.
As described above, another task required during the print production process is effective tracking and integrity checking. Within individual printer systems, these tasks are well understood. For instance, in typical production printing systems such as the Docutech® Model 6155 marketed by Xerox Corporation, sheets are counted when fed from the system input feeder and are timed or recounted during or after every major operation performed within the machine. In the event that a sheet does not arrive at a designated station within the time constraints permitted by the system or is otherwise detected as missing, a jam is declared and the portion of the machine apparatus operating prior to the jam is paused. An operator is then directed to clear the jam by removing all sheets residing in the paper path. Since the system controller has tracked and counted each sheet, it knows the number and image file identity for each sheet that has been removed. When the system detects that all sheets have been cleared, the controller directs the re-imaging and processing of each of the removed sheets. For duplicator systems with recirculating document feeders (RDFs), the same concepts apply except that the controller directs the RDF to circulate the input document pages until the first missing document page returns to the top of the imaging queue.
For print jobs requiring use of multiple printers, the above tracking and integrity functions are less completely managed in the prior art. For instance, in the state-of-the-art Book Factory® system launched by Xerox Corporation in 1999, a primary production printer based upon a Docutech Model 6180 printer system is physically integrated with assembler/finisher apparatus capable of any of the following finishing operations plus appropriate combinations of these operations: Collecting, Folding, Trimming and Adhesive Binding. The Book Factory system also comprises an assembler with a manually loaded input tray for accepting inventory sheets, including covers, printed or prepared by other printers or processes. Although the Book Factory assembler/finisher apparatus can count and time the progress of sheets in much the same way as described above in relation to single printer systems, there is no two-way communication concerning job status to the printer or inventory systems that supplied the manually input sheets. Thus, in the event a jam is declared, there is no method by which other printer systems may automatically be directed to reprint the removed sheets. In normal operations, operators prepare for missing or destroyed sheets by printing extra copies. Where extra copies are not available, then an operator must reprogram the other printer system and reprint the job. In any event, the result is typically waste of extra or removed sheets, consumption of extra consumables such as paper and ink, and expenditure of valuable time by operators and expensive printers.
In sum what is missing in the prior art is:
1) an integrated digital architecture for interactive control, tracking and integrity functions of all three phases of the prepress/printing/finishing process;
2) an integrated apparatus and method for enabling an operator, prior to printing of a job, to provide complete instructions for complex assembler/finishing operations, especially if off-line from the printer controller;
3) a method for accurately and completely describing the final document form of a complex document in a manner that enables both printer controllers and assembler/finisher controllers to instruct and control their respective printing and assembling/finishing operations;
4) an apparatus and method for dividing and managing a print job and associated work flow in response to constraints of both the available printing systems and the available finishing systems;
5) a queue management system that manages the entire print and finishing process in accordance with the availability of specified printers and of specified assembler/finisher equipment;
6) an interactive integrity check system capable of tracking each sheet through each production process, especially those portions of the process involving assembler/finisher operations that are offline from the printer controller; and
7) apparatus and method, acting in response to an interactive integrity check function, that automatically instructs printers to add or replace sheets not available to the assembler/finisher apparatus when such assembler/finisher apparatus calls for such sheets.